* Roadmap
** TODO Create defroute macro to simplify adding of additional routes
Also, all functions like reblocks/request:get-parameters should work
within defined route.
** DONE Make hooks system easier to use
- State "DONE"       from "TODO"       [2017-09-11 Mon 09:59]
Get rid of distinction between :pre :post and :dynamic hooks

Code for adding a hook should look like:

#+BEGIN_SRC lisp

(add-application-hook my-hook ()
  (some-code-of-implementation)
  (call-next-hook))

#+END_SRC

Instead of

#+BEGIN_SRC lisp

(defun my-hook (hooks)
   (some-code-of-implementation)
   (eval-dynamic-hooks hooks))

(add-application-hook :pre-render
                      my-hook)
#+END_SRC
** TODO Process (declare ...) forms in add-xxxx-hook macrose
Need to place these forms in the top of flet from
** TODO Make a package per file in all codebase
** TODO Remove all special widgets with html rendering code into separate reblocks-ui library
** Use Websocket for actions and all communications between client and server
This way it will be possible also to push data from server to the
client. This can be initiated by a timer or by some event or action from
the developer. For example, server can push new css/js dependencies for
all widgets shown on the page or for single widget, when developer hits
C-c C-c in the Emacs.

